1. Field of the Invention
The present invention relates to the operation of a disk drive and particularly to a method of opening/closing a disk tray in the drive.
2. Description of the Related Art
The ATA/IDE interface has become a de facto industry standard for connection of disk drives in PC's. In the interest of simplicity and cost, the ATA/IDE interface was originally designed to support only a small subset of computer peripherals. The expanding use of multimedia, inexpensive program distribution on CD ROM, and faster and more powerful systems has created the need for enhancements to ATA. The ATAPI CD-ROM specification SFF-8020 is one of those enhancements and provides a simple and inexpensive CD-ROM interface through a superset of ATA.
Software applications involving a disk drive load/unload operation, such as those for CD burning or playback, provide a graphical load/eject button, whereby the disk tray can opened or closed by clicking a mouse rather than pressing the physical load/eject button on the front panel of the disk drive. When the load/eject button is clicked, the status of the disk tray must be acquired to determine whether the load or unload operation is intended. However, the SFF-8020 specification does not define any packet command for acquisition of the disk tray status.
Traditionally, an even and odd flag are raised when the load/eject button has been clicked an even and odd number of times, respectively. The raised even flag indicates that the disk tray is open while the raised odd flag indicates the disk tray is closed. However, since the flag is used locally in only one application, an incorrect disk tray status indication is possible when another application is performing a load/unload operation or the physical load/eject button on the front panel of the disk drive is pressed, as shown in FIG. 1A˜1E. The disk tray is initially closed, as shown in FIG. 1A. The graphical load/eject button is clicked and the disk tray is opened, as shown in FIG. 1B. When the graphical load/eject button is clicked again, the disk tray is closed, as shown in FIG. 1C. The user presses the physical load/eject button on the disk drive to open the disk tray, as shown in FIG. 1D. Since the graphical load/eject button is not clicked, the even flag is kept raised and wrongly indicates that the disk tray is closed. Thus, when the graphical button is clicked a third time, the disk drive receives a command to open the already open disk tray, which results in no operation as shown in FIG. 1E.
To solve this problem, the new SFF-8090 specification defines several packet commands for acquisition of the disk tray status, such as Mechanism Status and Get Notification. However, software applications using these newly defined commands are not applicable to all disk drives, exceptions include the IsoBuster which has not adopted the SFF-8090 standard.